(+84) 236.3827111 ex. 402

Các kí hiệu mô tả nhóm file và phím trong LINUX


Khi gõ lệnh thực sự nhiều trường hợp người dùng mong muốn một tham số trong lệnh không chỉ xác định một file mà lại liên quan đến một nhóm các file mà tên gọi của các file trong nhóm có chung một tính chất nào đó. Trong những trường hợp như vậy, người dùng cần sử dụng các kí hiệu mô tả nhóm file (wildcards), chúng ta gọi là kí hiệu mô tả nhóm (còn được gọi là kí hiệu thay thế). Người ta sử dụng các kí tự *,? Và các cặp hai dấu [và] để mô tả nhóm file. Các kí tự này mang ý nghĩa như sau khi viết vào tham số tên file thực sự:

  • “*”: là kí tự mô tả nhóm gồm mọi xâu kí tự (thay thế mọi xâu). Mô tả này cho một nhóm lớn nhất trong ba mô tả.
  • “?”: mô tả nhóm gồm mọi xâu với độ dài không quá 1 (thay thế một kí tự). Nhóm này là tập con của nhóm đầu tiên (theo kí tự ‘*”).
  • [xâu-kí-tự]: mô tả nhóm gồm mọi xâu có độ dài 1 là mỗi kí tự thuộc xâu nói trên. Mô tả này cho một nhóm có lực lượng bé nhất trong ba mô tả. Nhóm này là tập con của nhóm thứ hai (theo kí tự “?”). Khi gõ lệnh phải gõ cả hai dấu [và]. Một dạng khác của mô tả nhóm này là [-] nghĩa là giữa cặp dấu ngoặc có ba kí tự trong đó kí tự ở giữa là dấu nối (dấu -) thì cách viết này tương đương với việc liệt kê mọi kí tự từ đến. Chẳng hạn, cách viết [a-d] tương đương với cách viết [abcd].

Ví dụ, giả sử khi muốn làm việc với tất cả các file trong một thư nào đó, người dùng gõ * thay thế tham số file thì xác định được các tên file sau (chúng ta viết bốn tên file trên một dòng):

info-dir initlog.conf inittab lynx.cfg

mail.rc mailcap minicom.users motd

mtab mtools.conf services shadow

shadow- shells smb.conf sysctl.conf

syslog.conf temp termcap up2date.conf

temp termcap

  • Nếu người dùng gõ s* (để chỉ các tên có chữ cái đầu là s) thay thế tham số file thì xác định được các tên file sau:

shadow shadow- shells sysctl.conf

syslog.conf

  • Nếu người dùng gõ [si]* (để chỉ các tên có chữ cái đầu là s hoặc i, chú ý dùng cả hai kí tự [và]) thay thế tham số file thì xác đinh các tên file sau:

info-dir initlog.conf inittab services

shadow shadow- shells smb.conf

sysctl.conf syslog.conf

Lưu ý:

  • Như vậy, Linux (và UNIX nói chung) không chỉ sử dụng hai kí tự mô tả nhóm * và ? mà còn có cách thức sử dụng cặp kí tự [và].
  • Cần phân biệt cặp dấu [và] được sử dụng khi người dùng gõ lệnh có ý nghĩa hoàn toàn khác với ý nghĩa của chúng khi được sử dụng trong mô tả lệnh.

Hơn thế nữa, Linux còn cung cấp cho người dùng cách thức sử dụng phím để hoàn thành nốt tên file (tên thư mục) trong lệnh. Ví dụ, khi chúng ta gõ dòng lệnh.

# ls /ulocal b

Thì nó cũng tương đương như gõ dòng lệnh (và đây chính là nội dung xuất hiện tại dấu nhắc Shell):

# ls /usr/local/bin

với điều kiện trong thư mục /usr chỉ có thư mục local được bắt đầu bởi chữ “l” và trong thư mục local cũng chỉ có thư mục bin được bắt đầu bởi chữ “b”.

Trong trường hợp nếu như một kí tự chưa đủ xác định, người dùng cần gõ thêm kí tự tiếp theo trong tên file (tên thư mục) và nhấn phím <TAB> để hoàn thành dòng lệnh.